/**
 * 版权所有(C)，上海勾芒信息科技，2017，所有权利保留。
 * 
 * 项目名：	cards-web
 * 文件名：	CreateCardQrCodeRequest.java
 * 模块说明：	
 * 修改历史：
 * 2017年4月2日 - Debenson - 创建。
 */
package me.chanjar.weixin.mp.bean.card;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 创建卡券投放二维码请求。
 * 
 * @author Debenson
 * @since 0.1
 */
public class ApplyCardQrCode implements Serializable {
  private static final long serialVersionUID = -1632328114716143989L;

  /** 卡券Code码,use_custom_code字段为true的卡券必须填写，非自定义code和导入code模式的卡券不必填写 */
  private String code;

  /** 卡券ID */
  @JsonProperty("card_id")
  private String cardId;

  /** 指定领取者的openid，只有该用户能领取。bind_openid字段为true的卡券必须填写，非指定openid不必填写。 */
  @JsonProperty("openid")
  private String openId;

  /** 指定二维码的有效时间，范围是60 ~ 1800秒。不填默认为365天有效 */
  @JsonProperty("expire_seconds")
  private Integer expireSeconds;

  /** 指定下发二维码，生成的二维码随机分配一个code，领取后不可再次扫描。填写true或false。默认false，注意填写该字段时，卡券须通过审核且库存不为0。 */
  @JsonProperty("is_unique_code")
  private Boolean isUniqueCode;

  /** 领取场景值，用于领取渠道的数据统计，默认值为0，字段类型为整型，长度限制为60位数字。用户领取卡券后触发的事件推送中会带上此自定义场景值。 */
  @JsonProperty("outer_id")
  private Integer outerId;

  /**
   * outer_id字段升级版本，字符串类型，用户首次领卡时，会通过领取事件推送给商户；
   * 对于会员卡的二维码，用户每次扫码打开会员卡后点击任何url，会将该值拼入url中，方便开发者定位扫码来源
   */
  @JsonProperty("outer_str")
  private String outerStr;

  /** 卡券Code码,use_custom_code字段为true的卡券必须填写，非自定义code和导入code模式的卡券不必填写 */
  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  /** 卡券ID */
  public String getCardId() {
    return cardId;
  }

  public void setCardId(String cardId) {
    this.cardId = cardId;
  }

  /** 指定领取者的openid，只有该用户能领取。bind_openid字段为true的卡券必须填写，非指定openid不必填写。 */
  public String getOpenId() {
    return openId;
  }

  public void setOpenId(String openId) {
    this.openId = openId;
  }

  /** 指定二维码的有效时间，范围是60 ~ 1800秒。不填默认为365天有效 */
  public Integer getExpireSeconds() {
    return expireSeconds;
  }

  public void setExpireSeconds(Integer expireSeconds) {
    this.expireSeconds = expireSeconds;
  }

  /** 指定下发二维码，生成的二维码随机分配一个code，领取后不可再次扫描。填写true或false。默认false，注意填写该字段时，卡券须通过审核且库存不为0。 */
  public Boolean getIsUniqueCode() {
    return isUniqueCode;
  }

  public void setIsUniqueCode(Boolean isUniqueCode) {
    this.isUniqueCode = isUniqueCode;
  }

  /** 领取场景值，用于领取渠道的数据统计，默认值为0，字段类型为整型，长度限制为60位数字。用户领取卡券后触发的事件推送中会带上此自定义场景值。 */
  public Integer getOuterId() {
    return outerId;
  }

  public void setOuterId(Integer outerId) {
    this.outerId = outerId;
  }

  /**
   * outer_id字段升级版本，字符串类型，用户首次领卡时，会通过领取事件推送给商户；
   * 对于会员卡的二维码，用户每次扫码打开会员卡后点击任何url，会将该值拼入url中，方便开发者定位扫码来源
   */
  public String getOuterStr() {
    return outerStr;
  }

  public void setOuterStr(String outerStr) {
    this.outerStr = outerStr;
  }

}
